package pers.xhh.shopapi.service;

import com.baomidou.mybatisplus.extension.service.IService;
import pers.xhh.shopapi.common.Mi;
import pers.xhh.shopapi.entity.MiManagerEntity;
import pers.xhh.shopapi.entity.to.user.MiManagerTo;
import pers.xhh.shopapi.entity.to.user.MiManagerUpdateTo;

/**
 * @author wei-xhh
 * @date 2020-11-22
 */
public interface MiManagerService extends IService<MiManagerEntity> {
    /**
     * 管理员登录
     * @param username 用户名
     * @param password 密码
     * @return 结果
     */
    Mi login(String username, String password);

    /**
     * 获取所有后台用户
     * @param query 查询条件->可以为空
     * @param pagenum 当前页码->不能为空
     * @param pagesize 每页显示条数->不能为空
     * @return 结果
     */
    Mi listUser(String query, Integer pagenum, Integer pagesize);

    /**
     * 根据参数插入用户
     * @param miManagerTo 参数
     * @return 结果
     */
    Mi saveMiManagerTo(MiManagerTo miManagerTo);

    /**
     * 更新state
     * @param uId 用户id
     * @param type ture打开，false关闭
     * @return 结果
     */
    Mi updateUserState(Integer uId, Boolean type);

    /**
     * 根据id查询用户
     * @param uId id
     * @return 结果
     */
    Mi getUserById(Integer uId);

    /**
     * 根据id更新用户
     * @param uId id
     * @param miManagerUpdateTo 参数
     * @return 结果
     */
    Mi updateUserById(Integer uId, MiManagerUpdateTo miManagerUpdateTo);

    /**
     * 删除用户
     * @param uId id
     * @return 结果
     */
    Mi deleteUserById(Integer uId);

    /**
     * 更新用户role
     * @param uId id
     * @param rid rid
     * @return 结果
     */
    Mi updateUserRole(Integer uId, Integer rid);

}
